Skip to content

Fix PointSolver padding default for backend overrides - #760

Merged
Jammy2211 merged 1 commit into
mainfrom
feature/point-solver-padding-backend
Sep 30, 2026
Merged

Jammy2211 merged 1 commit into
mainfrom
feature/point-solver-padding-backend

Conversation

@Jammy2211

Copy link
Copy Markdown
Collaborator

Summary

When a PointSolver call overrides its constructor's backend, omitted remove_infinities now follows the effective xp. A NumPy-constructed solver called with xp=jnp keeps static padding under JIT; the reverse override strips rejected rows on NumPy. Explicit True/False choices are preserved.

Refs #759 (cluster arc phase 1b). A companion workspace PR holds the JAX regression.

API Changes

PointSolver.solve corrects padding-default behavior for explicit backend overrides. Constructor-default calls and explicit remove_infinities choices retain their behavior. No signature changes. See full details below.

Test Plan

  • Full PyAutoLens suite: 776 passed, 1 xfailed (34 warnings). Initial run was terminated; complete rerun exited 0.
  • Red-before NumPy regression: 1 failed, 14 passed; the new failing case passes after the fix.
  • Workspace padding regression: all 12 cases passed; the pre-fix script failed.
  • In-session diff review and Black/diff checks passed.
  • Full workspace smoke: 32/32 passed (exit 0).
Full API Changes (for automation & release notes)

Changed Behaviour

  • PointSolver.solve(..., xp=jnp, remove_infinities=None) keeps padding even if constructed with use_jax=False.
  • PointSolver.solve(..., xp=np, remove_infinities=None) strips padding even if constructed with use_jax=True.

Migration

No change is required to callers using the documented backend-dependent default. Callers intentionally relying on the old mismatched constructor behavior should specify remove_infinities=True or False explicitly. Dynamic stripping with True still cannot run inside jax.jit; strip outside JIT.

Heart override

Live user “I authorize” in response to the task-specific phase-1b development-only RED override request. Exact RED: release validation FAILED (stage integrate). This grants commit/push/PR creation after passing validation; no merge or release authority. This change does not claim to repair Heart.

@Jammy2211 Jammy2211 added the pending-release PR queued for the next release build label Sep 30, 2026
@Jammy2211
Jammy2211 merged commit 73dc5d2 into main Sep 30, 2026
4 checks passed
@Jammy2211
Jammy2211 deleted the feature/point-solver-padding-backend branch September 30, 2026 18:53
@Jammy2211 Jammy2211 removed the pending-release PR queued for the next release build label Oct 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant